using System;
using System.Xml.Serialization;
using System.Collections.Generic;

namespace WHC.Hotel.Entity
{
    [Serializable]
    public class RoomInfo : BaseEntity
    {    
        #region Field Members

        private int m_ID = 0; //编号          
        private string m_RoomNo = ""; //房号          
        private string m_RoomType = ""; //房间类型 
        private string m_RoomTypeCode = ""; //房间类型代码
        private RoomStatus m_Status = RoomStatus.空净房; //房间状态                
        private string m_RoomTelephone = ""; //房间电话          
        private string m_LockNumber = ""; //门锁码  
        private string m_BuildNum = ""; //  所在楼栋 
        private string m_Floor = ""; // 所在楼层
        private DateTime m_BookBeginTime = DateTime.Now;//最近预定到达时间
        private DateTime m_BookEndTime = DateTime.Now;//最近预离时间
        private bool m_IsTodayLeave = false;//是否今日离开
        private OrderInfo m_OrderInfo = null;
        private bool m_IsExistBook = false;
        private List<ConsumerListInfo> mConsumerList = null;
        private decimal consumedSum = 0.0M;

        /// <summary>
        /// 未结账消费总额
        /// </summary>
        public decimal ConsumedSum
        {
            get { return consumedSum; }
            set { consumedSum = value; }
        }

        /// <summary>
        /// 是否存在预定
        /// </summary>
        public bool IsExistBook
        {
            get { return m_IsExistBook; }
            set { m_IsExistBook = value; }
        }
        private bool m_IsClockRoom = false;
        //private DateTime m_ClockRoomBeginTime = DateTime.Now;
        //private DateTime m_ClockRoomEndTime = DateTime.Now;
        //private DateTime m_OrderRoomBeginTime = DateTime.Now;
        //private DateTime m_OrderRoomEndTime = DateTime.Now;
        //private bool m_IsGroupOrder = false;

        //public DateTime OrderRoomBeginTime
        //{
        //    get { return m_OrderRoomBeginTime; }
        //    set { m_OrderRoomBeginTime = value; }
        //}

        //public DateTime OrderRoomEndTime
        //{
        //    get { return m_OrderRoomEndTime; }
        //    set { m_OrderRoomEndTime = value; }
        //}


        //public bool IsGroupOrder
        //{
        //    get { return m_IsGroupOrder; }
        //    set { m_IsGroupOrder = value; }
        //}

       


      
       


        #endregion

        #region Property Members
        
        /// <summary>
        /// 编号
        /// </summary>
        public virtual int ID
        {
            get
            {
                return this.m_ID;
            }
            set
            {
                this.m_ID = value;
            }
        }

        /// <summary>
        /// 房号
        /// </summary>
        public virtual string RoomNo
        {
            get
            {
                return this.m_RoomNo;
            }
            set
            {
                this.m_RoomNo = value;
            }
        }

        /// <summary>
        /// 房间类型
        /// </summary>
        public virtual string RoomType
        {
            get
            {
                return this.m_RoomType;
            }
            set
            {
                this.m_RoomType = value;
            }
        }

        /// <summary>
        /// 房间状态
        /// </summary>
        public virtual RoomStatus Status
        {
            get
            {
                return this.m_Status;
            }
            set
            {
                this.m_Status = value;
            }
        }

       

        /// <summary>
        /// 房间电话
        /// </summary>
        public virtual string RoomTelephone
        {
            get
            {
                return this.m_RoomTelephone;
            }
            set
            {
                this.m_RoomTelephone = value;
            }
        }

        /// <summary>
        /// 门锁码
        /// </summary>
        public virtual string LockNumber
        {
            get
            {
                return this.m_LockNumber;
            }
            set
            {
                this.m_LockNumber = value;
            }
        }

        /// <summary>
        /// 所在楼栋
        /// </summary>
        public string BuildNum
        {
            get { return m_BuildNum; }
            set { m_BuildNum = value; }
        }
        /// <summary>
        /// 所在楼层
        /// </summary>
        public string Floor
        {
            get { return m_Floor; }
            set { m_Floor = value; }
        }
        /// <summary>
        /// 最近预定到达时间
        /// </summary>
        public DateTime BookBeginTime
        {
            get { return m_BookBeginTime; }
            set { m_BookBeginTime = value; }
        }
        /// <summary>
        /// 最近预离时间
        /// </summary>
        public DateTime BookEndTime
        {
            get { return m_BookEndTime; }
            set { m_BookEndTime = value; }
        }

        /// <summary>
        /// 是否今日离开
        /// </summary>
        public bool IsTodayLeave
        {
            get { return m_IsTodayLeave; }
            set { m_IsTodayLeave = value; }
        }

        /// <summary>
        /// 是否钟点房
        /// </summary>
        public bool IsClockRoom
        {
            get { return m_IsClockRoom; }
            set { m_IsClockRoom = value; }
        }

        ///// <summary>
        ///// 钟点房开始时间
        ///// </summary>
        //public DateTime ClockRoomBeginTime
        //{
        //    get { return m_ClockRoomBeginTime; }
        //    set { m_ClockRoomBeginTime = value; }
        //}

        ///// <summary>
        ///// 终点房结束时间
        ///// </summary>
        //public DateTime ClockRoomEndTime
        //{
        //    get { return m_ClockRoomEndTime; }
        //    set { m_ClockRoomEndTime = value; }
        //}
        /// <summary>
        /// 订单信息
        /// </summary>
        public OrderInfo OrderInfo
        {
            get { return m_OrderInfo; }
            set { m_OrderInfo = value; }
        }

        public string RoomTypeCode
        {
            get { return m_RoomTypeCode; }
            set { m_RoomTypeCode = value; }
        }
        #endregion

    }
}